home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Moscow ML 1.31 / source code / mosml / src / mosmllib / CharArray.sml < prev    next >
Encoding:
Text File  |  1996-07-03  |  1.7 KB  |  41 lines  |  [TEXT/R*ch]

  1. (* CharArray -- as of 1995-06-14 *)
  2.  
  3. prim_eqtype array
  4. type elem   = Char.char
  5. type vector = CharVector.vector
  6.  
  7. local 
  8.     prim_val magic : 'a -> 'b = 1 "identity";
  9. in
  10.     val maxLen = Word8Array.maxLen
  11.     val array    : int * elem -> array          = magic Word8Array.array
  12.     val tabulate : int * (int -> elem) -> array = magic Word8Array.tabulate
  13.     val fromList : elem list -> array           = magic Word8Array.fromList
  14.     val length   : array -> int                 = magic Word8Array.length
  15.     val sub      : array * int -> elem          = magic Word8Array.sub
  16.     val update   : array * int * elem -> unit   = magic Word8Array.update
  17.     val extract  : array * int * int option -> vector  
  18.                         = magic Word8Array.extract
  19.     val copy     : {src: array, si: int, dst: array, di: int, len: int} 
  20.                    -> unit            = magic Word8Array.copy
  21.     val copyv    : {src: vector, si: int, dst: array, di: int, len: int} 
  22.                    -> unit            = magic Word8Array.copyv
  23.     val app      : (elem -> unit) -> array -> unit
  24.                         = magic Word8Array.app
  25.     val foldl    : (elem * 'b -> 'b) -> 'b -> array -> 'b
  26.                         = magic Word8Array.foldl
  27.     val foldr    : (elem * 'b -> 'b) -> 'b -> array -> 'b
  28.                         = magic Word8Array.foldr
  29.     val modify   : (elem -> elem) -> array -> unit
  30.                         = magic Word8Array.modify
  31.     val appi     : (int * elem -> unit) -> array*int*int option -> unit
  32.                         = magic Word8Array.appi
  33.     val foldli   : (int * elem * 'b -> 'b) -> 'b -> array*int*int option -> 'b
  34.                         = magic Word8Array.foldli
  35.     val foldri   : (int * elem * 'b -> 'b) -> 'b -> array*int*int option -> 'b
  36.                         = magic Word8Array.foldri
  37.     val modifyi  : (int * elem -> elem) -> array*int*int option -> unit
  38.                         = magic Word8Array.modifyi
  39. end
  40.  
  41.